package dao;

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Random;

import conector.mysql;

public class partidosDao extends mysql{

	static logs.generador logs = new logs.generador(); 
	
	public static void crearTablaPartidos() throws IOException, SQLException{
		logs.escribir("EMPEZAMOS A CREAR LA TABLA PARTIDOS");
		String queryString = "CREATE TABLE  partidos (id int(10) unsigned NOT NULL AUTO_INCREMENT,temporada varchar(45) COLLATE utf8_spanish_ci NOT NULL,id_categoria int(3) unsigned NOT NULL,id_competicion int(3) unsigned NOT NULL,jornada int(2) unsigned NOT NULL,id_equipo_local int(5) unsigned NOT NULL,id_equipo_visitante int(5) unsigned NOT NULL,marcador_l int(2) unsigned DEFAULT NULL,marcador_v int(2) unsigned DEFAULT NULL,horario_partido datetime DEFAULT NULL,id_campo int(3) unsigned DEFAULT NULL,estado tinyint(1) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;";
		mysql.executeUpdate(queryString);
		logs.escribir("TABLA EQUIPOS PARTIDOS");
	} 
	
	
	public static void insertarPartido(int temporada,int id_categoria,int id_competicion,int jornada,int id_equipo_local,int id_equipo_visitante) throws IOException, SQLException{
		Random r = new Random();
		String queryString = "INSERT INTO partidos(id,temporada,id_categoria,id_competicion,jornada,id_equipo_local,id_equipo_visitante,marcador_l,marcador_v,horario_partido,id_campo,estado)"+
							 "VALUES (NULL,"+temporada+","+id_categoria+","+id_competicion+","+jornada+","+id_equipo_local+","+id_equipo_visitante+",'"+r.nextInt('7' - '0')+"','"+r.nextInt('7' - '0')+"',NULL,NULL,true);";
		//System.out.print("Competicion->"+id_competicion+"Jornada->"+jornada+"Partido->"+jornada+"EL->"+id_equipo_local+"EV->"+id_equipo_visitante+"\n");
		mysql.executeUpdate(queryString);
	}

	public static void crearMarcadorPartido(int marcador_l,int marcador_v,int id) throws SQLException{
		String queryString = "UPDATE partidos SET marcador_l = '"+marcador_l+"',`marcador_v` = '"+marcador_v+"' WHERE `id` = '"+id+"'";
		mysql.executeUpdate(queryString);
	}

	public static int contarPartidosPorCompeticion(int categoria, int competicion,int temporada) throws SQLException {
		String queryString="SELECT COUNT(id) as resultado FROM partidos WHERE id_categoria="+categoria+" AND id_competicion="+competicion+" AND temporada="+temporada+"";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int valor =  resultSet.getInt("resultado");
			return valor;
		}
		return 0;
	}
	
	public static int totalPartidos() throws SQLException {
		String queryString="SELECT COUNT(id) as total FROM partidos;";
		ResultSet resultSet = mysql.queryObj(queryString);
		while (resultSet.next()){
			int valor =  resultSet.getInt("total");
			return valor;
		}
		return 0;
	}


	public ResultSet getPartidosPorCategoriaCompeticion(int categoria,int competicion,int temporada) {
		String queryString="SELECT * FROM partidos WHERE id_categoria="+categoria+" AND id_competicion="+competicion+" AND temporada="+temporada;
		//System.out.println(queryString);
		ResultSet resultSet = mysql.queryObj(queryString);
		return resultSet;
	}
}
